package tdam.androide.receiver;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

import tdam.androide.data.BaseDatos;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;

public class ReceptorEmails extends BroadcastReceiver {

	private String fechaHora;
	private int contacto;
	private int accion;
	private String email;
	private BaseDatos baseDatos;
	
	/**
	*
	*Este metodo hace informa
	*@param ...
	*@return ...
	*@exception ...
	*@throws ...
	*
	*/
	
	@Override
    public void onReceive(Context context, Intent intent) {
		Bundle extras = intent.getExtras();
		if (extras != null) {
			contacto = -1;
			accion = 8;
			//contacto = extras.getInt("contacto");
			email = extras.getString("email");
			fechaHora = getFechaHora();
			Cursor curEmail = context.getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, ContactsContract.CommonDataKinds.Email.DATA + " = ? ", new String[] { email }, null);
			if (curEmail.getCount() > 0) {
				curEmail.moveToFirst();
				int _id = curEmail.getInt(curEmail.getColumnIndex(ContactsContract.CommonDataKinds.Email.CONTACT_ID));
				Cursor curContacto = context.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, ContactsContract.Contacts._ID + " = ? ", new String[] { String.valueOf(_id) }, null);
				if (curContacto.getCount() > 0) {
					curContacto.moveToFirst();
					contacto = curContacto.getInt(curContacto.getColumnIndex(ContactsContract.Contacts._ID));
				}
				curContacto.close();
			}
			curEmail.close();
			if (contacto != -1) {
				baseDatos = new BaseDatos(context);
				baseDatos.insertarHistorial(fechaHora, contacto, accion, email);
			}
		}
    }
	
	/**
	*
	*Este metodo hace ...
	*@param ...
	*@return ...
	*@exception ...
	*@throws ...
	*
	*/
	
	public String getFechaHora() {
		Calendar calendario = new GregorianCalendar();
		Date fecha = calendario.getTime();
		SimpleDateFormat formatoFechaHora = new SimpleDateFormat("dd/MM/yyyy  HH:mm:ss");
		String fechaHora = formatoFechaHora.format(fecha);
		return fechaHora;
	}
	
}
